From 424fdc67e90baf543650be2f88e0894afb25494b Mon Sep 17 00:00:00 2001 From: Razvan Cojocaru Date: Wed, 21 Sep 2016 15:41:04 +0300 Subject: [PATCH] x86/mm: Add missing copy_from_user error checks in p2m_set_access_multi Added missing error checks in p2m_set_mem_access_multi(). CID 1373105 and 1373106 Signed-off-by: Razvan Cojocaru Reviewed-by: George Dunlap --- xen/arch/x86/mm/p2m.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c index b16e56327a..9526fffd6a 100644 --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -1936,8 +1936,12 @@ long p2m_set_mem_access_multi(struct domain *d, uint8_t access; uint64_t gfn_l; - copy_from_guest_offset(&gfn_l, pfn_list, start, 1); - copy_from_guest_offset(&access, access_list, start, 1); + if ( copy_from_guest_offset(&gfn_l, pfn_list, start, 1) || + copy_from_guest_offset(&access, access_list, start, 1) ) + { + rc = -EFAULT; + break; + } if ( !xenmem_access_to_p2m_access(p2m, access, &a) ) { -- 2.30.2